package chapter10.ClodeBlock;
//类加载初始化优先级，在创建一个对象时
//首先，先调用静态代码块和静态属性初始化，他们优先级相同，执行先后顺序由定义的先后顺序决定。
//其次，调用静态属性初始化和静态代码块，执行的先后顺序由定义的先后顺序决定。
//最后，调用构造器
public class CodeBlockDetail02 {
    public static void main(String[] args) {
        new A();
    }

}
class A{
    private int n2 = getN2();
    private static int n1 = getN1();
    {
        System.out.println("非静态代码块");
    }
    static {
        System.out.println("A 类的静态代码块01");
    }

    public static int getN1(){
        System.out.println("getN1被调用");
        return 100;
    }
    public int getN2(){
        System.out.println("非静态初始化");
        return 100;
    }

    public A() {
        System.out.println("构造器被调用");
    }
}

